Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds b3SingleFormat flag to message instrumentation #772

Merged
merged 3 commits into from
Aug 25, 2018

Conversation

codefromthecrypt
Copy link
Member

by building message integration with the flag "b3SingleFormat" downstream propagation will use the single header format (#763) which is much more efficient and JMS compatible.

Ex b3: 4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-1 for a sampled span

@codefromthecrypt
Copy link
Member Author

Here's kafka producer benchmarks. Pretty much the same (which is a good thing.. the efficiency gain that's important is message size, not necessarily the time to encode headers, which is a small part of the overhead in a trace)

Benchmark                                                                          Mode     Cnt     Score     Error   Units
TracingProducerBenchmarks.send_baseCase:send_baseCase·p0.999                     sample             4.290             us/op
TracingProducerBenchmarks.send_baseCase:·gc.alloc.rate.norm                      sample      15    72.003 ±   0.001    B/op
TracingProducerBenchmarks.send_traced:send_traced·p0.999                         sample            21.280             us/op
TracingProducerBenchmarks.send_traced:·gc.alloc.rate.norm                        sample      15  3456.388 ±   0.048    B/op
TracingProducerBenchmarks.send_traced_b3Single:send_traced_b3Single·p0.999       sample            19.650             us/op
TracingProducerBenchmarks.send_traced_b3Single:·gc.alloc.rate.norm               sample      15  3448.372 ±  33.123    B/op

@codefromthecrypt
Copy link
Member Author

haha accidentally goofed benchmarks. the following are correct and more sensible. Will merge in a bit.

kafka (asynchronous)

TracingProducerBenchmarks.send_baseCase:send_baseCase·p0.999                     sample              1.772             us/op
TracingProducerBenchmarks.send_baseCase:·gc.alloc.rate.norm                      sample      15     72.003 ±   0.001    B/op
TracingProducerBenchmarks.send_traced:send_traced·p0.999                         sample             24.202             us/op
TracingProducerBenchmarks.send_traced:·gc.alloc.rate.norm                        sample      15   3272.402 ±  12.467    B/op
TracingProducerBenchmarks.send_traced_b3Single:send_traced_b3Single·p0.999       sample             14.096             us/op
TracingProducerBenchmarks.send_traced_b3Single:·gc.alloc.rate.norm               sample      15   1850.899 ±  20.859    B/op

spring-rabbit (synchronous)

TracingMessagePostProcessorBenchmarks.send_traced:send_traced·p0.999                         sample            14.048            us/op
TracingMessagePostProcessorBenchmarks.send_traced:·gc.alloc.rate.norm                        sample      15  1378.875 ± 20.877    B/op
TracingMessagePostProcessorBenchmarks.send_traced_b3Single:send_traced_b3Single·p0.999       sample            11.104            us/op
TracingMessagePostProcessorBenchmarks.send_traced_b3Single:·gc.alloc.rate.norm               sample      15  1008.139 ±  0.014    B/op

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant